package com.zgjkhis.modules.outpatient.dto;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zgjkhis.modules.member.domain.Member;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @ClassName AccountDto
 * @Deacription TODO
 * @Author yzq
 * @Date 2021/9/3 10:22
 * @Version 1.0
 **/
@Data
public class AccountDto  implements Serializable {
    @TableId
    private Long id;
    @ApiModelProperty(value = "姓名",required = true)
    private String name;
    @ApiModelProperty(value = "性别：0：女，1：男",required = true)
    @NotBlank(message = "性别不能为空")
    private Integer sex;
    @ApiModelProperty(value = "年龄",required = true)
    private Integer age;
    @ApiModelProperty(value = "手机号")
    private String phone;
    @TableField(fill= FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty(value = "出生日期",required = true)
    private Date birthday;
    @ApiModelProperty(value = "身份证号")
    private String idCard;
    @ApiModelProperty(value = "地址")
    private String address;
    @ApiModelProperty(value = "患者来源")
    private String source;
    /** 创建时间 */
    @TableField(fill= FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    @ApiModelProperty(value = "婚姻状况")
    private String maritalStatus;
    @ApiModelProperty(value = "民族")
    private String nation;
    @ApiModelProperty(value = "微信号")
    private String wechat;
    @ApiModelProperty(value = "职业")
    private String occupation;
    @ApiModelProperty(value = "工作单位")
    private String workUnit;
    @ApiModelProperty(value = "慢性病 0：否，1：是",required = true)
    private Integer isChronicDisease;
    @ApiModelProperty(value = "慢性病史")
    private String illness;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "会员类型：0：普通会员（默认）,其他：会员关联")
    private String membershipType;
    @ApiModelProperty(value = "药房id")
    private String pharmacyId;
    @ApiModelProperty(value = "状态：0：生效，1：无效")
    private Integer status;
    @ApiModelProperty(value = "会员名称")
    private String membershipName;
    @ApiModelProperty(value = "就诊次数")
    private Integer jzCount;
    @ApiModelProperty(value = "消费总金额")
    private BigDecimal totalFee;
    @ApiModelProperty(value = "患者标签")
    private List<AccountLabelDto> labelDtos;
    @ApiModelProperty(value = "会员信息")
    private Member member;
}
